home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-16 | 4.3 KB | 164 lines | [TEXT/CWIE] |
- // ===========================================================================
- // SCAPIDrawingArea.h ©1997 Spunk Cross All rights reserved.
- // ===========================================================================
-
- #ifndef SCAPIDRAWINGAREA_H
- #define SCAPIDRAWINGAREA_H
-
- #include "SCAPICommonIncludes.h"
- #include "SCAPIWindow.h"
- #include "SCAPIGroupBox.h"
- #include <LMouseTracker.h>
-
-
- // ---------------------------------------------------------------------------
- // Defines
- // ---------------------------------------------------------------------------
-
- #define SCAPIDrawingArea_default_originx 0
- #define SCAPIDrawingArea_default_originy 0
- #define SCAPIDrawingArea_default_width 100
- #define SCAPIDrawingArea_default_height 100
-
- #define SCAPIDrawingArea_LeftMouseButton 0
- #define SCAPIDrawingArea_MiddleMouseButton 1
- #define SCAPIDrawingArea_RightMouseButton 2
-
-
- // ---------------------------------------------------------------------------
- // SCAPIDrawingArea Class
- // ---------------------------------------------------------------------------
-
- class SCAPIDrawingArea : public LView, public LMouseTracker
- {
-
- // ===========================================================
- // === Spunk Cross API, these are the routines you can use ===
- // ===========================================================
-
- // Constructor - Destructor
- // ------------------------
-
- public:
-
- SCAPIDrawingArea( SCAPIWindow* inWindowP,
- int inOriginx = SCAPIDrawingArea_default_originx,
- int inOriginy = SCAPIDrawingArea_default_originy,
- int inWidth = SCAPIDrawingArea_default_width,
- int inHeight = SCAPIDrawingArea_default_height );
-
- ~SCAPIDrawingArea();
-
-
- // Member functions
- // ----------------
-
- protected:
-
- virtual void DrawEvent();
- virtual void LeftMouseButtonDownEvent(int x, int y);
- virtual void MiddleMouseButtonDownEvent(int x, int y);
- virtual void RightMouseButtonDownEvent(int x, int y);
- virtual void LeftMouseButtonUpEvent(int x, int y);
- virtual void MiddleMouseButtonUpEvent(int x, int y);
- virtual void RightMouseButtonUpEvent(int x, int y);
- virtual void MouseMove(int x, int y);
- virtual void MouseEnterArea();
- virtual void MouseLeaveArea();
-
-
- public:
-
- void SetBackgroundColor( float r,
- float g,
- float b );
-
- void SetDrawingColor( float r,
- float g,
- float b );
-
- void Clear();
-
- void ClearArea( int inOriginx,
- int inOriginy,
- int inWidth,
- int inHeight );
-
- void DrawPoint( int inPointx,
- int inPointy );
-
- void DrawLine( int inStartPointx,
- int inStartPointy,
- int inEndPointx,
- int inEndPointy );
-
- void DrawRectangle( int inOriginx,
- int inOriginy,
- int inWidth,
- int inHeight );
-
- void DrawFilledRectangle( int inOriginx,
- int inOriginy,
- int inWidth,
- int inHeight );
-
- void DrawOval( int inOriginx,
- int inOriginy,
- int inWidth,
- int inHeight );
-
- void DrawFilledOval( int inOriginx,
- int inOriginy,
- int inWidth,
- int inHeight );
-
-
- // =================================
- // === Internal part, do not use ===
- // =================================
-
- // Member variables
- // ----------------
-
- private:
-
- SViewInfo mSViewInfo;
- SPaneInfo mSPaneInfo;
- SCAPIGroupBox* mBorderP;
- int mLastButtonPressed;
- LGWorld* mGWorld;
- int mOldMousePosX;
- int mOldMousePosY;
- float mDrawingRed;
- float mDrawingGreen;
- float mDrawingBlue;
- float mBackgroundRed;
- float mBackgroundGreen;
- float mBackgroundBlue;
-
- // Member functions
- // ----------------
-
- private:
-
- SPaneInfo MakeSPaneInfo( SCAPIWindow* inWindowP,
- int inOriginx,
- int inOriginy,
- int inWidth,
- int inHeight );
-
- SViewInfo MakeSViewInfo();
-
- virtual void ClickSelf(const SMouseDownEvent& inMouseDown);
- virtual void EventMouseUp(const EventRecord &inMacEvent);
- virtual void DrawSelf();
- virtual void MouseEnter( Point inPortPt,
- const EventRecord &inMacEvent );
- virtual void MouseLeave();
- virtual void MouseWithin(Point inPortPt,
- const EventRecord &inMacEvent);
- void SetInternalBackgroundColor();
- void SetInternalDrawingColor();
- };
-
- #endif